<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>

<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<head />
<body bgcolor="white">
Provides an HBase <a href="http://developers.facebook.com/thrift/">Thrift</a>
service.

This directory contains a Thrift interface definition file for an Hbase RPC
service and a Java server implementation.

<h2><a name="whatisthrift">What is Thrift?</a></h2> 

<p>"Thrift is a software framework for scalable cross-language services
development. It combines a powerful software stack with a code generation
engine to build services that work efficiently and seamlessly between C++,
Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and we are now
releasing it as open source."  For additional information, see
http://developers.facebook.com/thrift/.  Facebook has announced their intent
to migrate Thrift into Apache Incubator.
</p>

<h2><a name="description">Description</a></h2>

<p>The <a href="generated/Hbase.Iface.html">Hbase API</a> is defined in the
file Hbase.thrift.  A server-side implementation of the API is in {@link
org.apache.hadoop.hbase.thrift.ThriftServer}.  The generated interfaces,
types, and RPC utility files are checked into SVN under the {@link
org.apache.hadoop.hbase.thrift.generated} directory.

</p>

<p>The files were generated by running the commands:
<pre>
  thrift -strict -java Hbase.thrift
  mv gen-java/org/apache/hadoop/hbase/thrift/generated .
  rm -rf gen-java
</pre>
</p>

<p>The 'thrift' binary is the Thrift compiler, and it is distributed as a part
of
the Thrift package.  Additionally, specific language runtime libraries are a
part of the Thrift package.  A version of the Java runtime is checked into SVN
under the hbase/lib directory.
</p>

<p>The version of Thrift used to generate the Java files is revision 746 from
the <a href="http://svn.facebook.com/svnroot/thrift/">SVN repository</a>.</p>

<p>The ThriftServer is run like:
<pre>
  ./bin/hbase thrift -h|--help | [--port=PORT] start
</pre>
The default port is 9090.
</p>
</body>
</html>
